$(function(){
	
	/**
	 * 初始化页面的下拉列表
	 */
	var selectList = {
			
		initSelectList :function(){
			
		//初始化收入支出多选框
			$('#income_expense').select2({
		          placeholder: '选择收支类型',
				  allowClear:true,
				  data:[{ id: '0', text: '收入' },{ id: '1', text: '支出' }],
				  language: "zh-CN"
		   });
		
		//初始化账目类型下拉列表	
		 var acctTypeSelect= $('#acct_type').select2({
		        placeholder: '选择账目类型',
		        allowClear:true,
		        language: "zh-CN"
		    });
				
		$.ajax({
	      type: "post",
	      url: ctxPath+"/dataRecord/listAcctType.do",
	      dataType:"json",
	      success : function(result){
	    	  for(var i in result){
	    		  acctTypeSelect.append("<option value='"+result[i].typecode+"'>"+result[i].typename+"</option>");
	 
	    	  }

	      }
	    });
		
		//初始化来源下拉列表	
		 var sourceSelect= $('#source').select2({
		        placeholder: '请选择来源',
		        allowClear:true,
		        language: "zh-CN"
		    });
				
		$.ajax({
	      type: "post",
	      url: ctxPath+"/dataRecord/listSource.do",
	      dataType:"json",
	      success : function(result){
	    	  for(var i in result){
	    		  sourceSelect.append("<option value='"+result[i].departmentno+"'>"+result[i].departmentname+"</option>");
	    	  }

	      }
	    });
			
		}
	}	 
	selectList.initSelectList();
	
	

    	  
    	

	/**
	 * 执行条件重置
	 */
	$("#reset_btn").on("click", function() { 
		 $("#acct_type").val('选择账目类型').trigger("change");
		 $('#source').val('选择来源').trigger("change");
		
		
	});
		

	/**
	 * jqgrid查看
	 */
	 DataCount = {
			initDataCountGrid : function() {
				function beforeSelectRow() {
					$("#grid_area").jqGrid('resetSelection');
					return true;
				}
				var DataCountGrid = $("#grid_area").jqGrid({
						url : ctxPath +'/dataReport/listDataCount.do',
						multiselect : false,
						multiboxonly : true,
						beforeSelectRow : beforeSelectRow,// js方法
						colNames : [ '账目来源','账目类型','收入金额（单位：元）', '支出金额（单位：元）'],//jqGrid的列显示名字
						colModel : [ //jqGrid每一列的配置信息。包括名字，索引，宽度,对齐方式
						             {name : 'departmentName', index : 'departmentName',sortable:false,width:"280"},
						             {name : 'typeName', index : 'typeName',sortable:false,width:"280"},
						             {name : 'incomeMoney', index : 'incomeMoney',sortable:false,width:"280",
						            	 formatter:'number', formatoptions:{
						            		 decimalSeparator:".", thousandsSeparator: ",", decimalPlaces: 2, defaultValue: '0.00' 
						            			 }	 
						             },
						             {name : 'expenseMoney', index : 'expenseMoney',align:"right",sortable:false,width:"280",
						            	 formatter:'number', formatoptions:{
						            		 decimalSeparator:".", thousandsSeparator: ",", decimalPlaces: 2, defaultValue: '0.00' 
						            			 }
						             },
						           ],
						            shrinkToFit:false,
						            autoScroll :true,
						            rowNum : 10,//一页显示多少条
									rowList : [ 10, 20, 30 ],//可供用户选择一页显示多少条
									pager : '#page_area',//表格页脚的占位符(一般是div)的id
									viewDataCounts : true,
									height:260,
									emptyDataCounts:"未找到相关记录",
									caption : "本月收支记录表"//表格的标题名字
				});
				
				
				$("#grid_area").closest(".ui-jqgrid-bdiv").css({ "overflow-x" : "scroll" }); //横向滚动条
				
				return DataCountGrid;
			}
		};
	
	 
	 
	 

		
		// 全局配置，对当前页面的所有图表有效

		Highcharts.setOptions({
			lang : {
				contextButtonTitle : "图表导出菜单",
				decimalPoint : ".",
				downloadJPEG : "下载JPEG图片",
				downloadPDF : "下载PDF文件",
				downloadPNG : "下载PNG文件",
				downloadSVG : "下载SVG文件",
				drillUpText : "返回 {series.name}",
				loading : "加载中",
				months : [ "一月", "二月", "三月", "四月", "五月", "六月", "七月", "八月", "九月",
						"十月", "十一月", "十二月" ],
				noData : "没有数据",
				numericSymbols : [ "千", "兆", "G", "T", "P", "E" ],
				printChart : "打印图表",
				resetZoom : "恢复缩放",
				resetZoomTitle : "恢复图表",
				shortMonths : [ "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul",
						"Aug", "Sep", "Oct", "Nov", "Dec" ],
				thousandsSep : ",",
				weekdays : [ "星期一", "星期二", "星期三", "星期四", "星期五", "星期六", "星期天" ]
			}
		});

		// 统计每种账目类型收入支出的图表配置
		var chart;
		var renderToDiv = "container";
		var options={
				chart : {
					type : 'column', // 指定图表的类型，默认是折线图（line）,条形图（bar）,柱状图（column）,饼图（pie）
					renderTo : renderToDiv,
				},
				credits : {
				    enabled:false, //是否去掉右下角版权信息

				},
			    tooltip: {
				        headerFormat: '<b>{series.name}</b><br/>',
				        pointFormat: '{point.y}  元'
				    },
				plotOptions : {
					column : {
						dataLabels : {
							enabled : true, // dataLabels设为true
							color : '#FFFFFF',
							style : {
								fontSize : '5px',
								fontFamily : 'Verdana, sans-serif',
								textShadow : '0 0 1px black'
							}
						}
					},
					series: {
				        events: {
				            legendItemClick: function(e) {
				            	//默认是点击某个图例显示或隐藏当前数据列，这里改变为点击某个图例只显示当前数据列，隐藏其他数据列
				                var index = this.index;
				                var series = this.chart.series;
				                if (!series[index].visible) {
				                    for (var i = 0; i < series.length; i++) {
				                        var s = series[i];
				                        i === index ? s.show() : s.hide();
				                    }
				                }
				                return false;
				            }
				        }
				    }
				},
				title : {
					text : '本月收支统计柱状图（按账目类别）' // 标题
				},
				xAxis : {
					categories : [ '收入', '支出' ]
				// x 轴分类
				},
				yAxis : {
					title : {
						text : '金额' // y 轴标题
					}
				},
				series : [ {} ], // 数据列
				exporting : {// 导出功能
				enabled : true,
				}

			}
			
			
		
		//统计每个部门收入支出的图表配置
		var chart1;
		var renderToDiv1 = "container1";
		var options1={
				chart : {
					type : 'column', // 指定图表的类型，默认是折线图（line）,条形图（bar）,柱状图（column）
					renderTo : renderToDiv1,
				},
				credits : {
				    enabled:false, //是否去掉右下角版权信息

				},
			    tooltip: {
				        headerFormat: '<b>{series.name}</b><br/>',
				        pointFormat: '{point.y}  元'
				    },
				plotOptions : {
					column : {
						dataLabels : {
							enabled : true, // dataLabels设为true
							color : '#FFFFFF',
							style : {
								fontSize : '5px',
								fontFamily : 'Verdana, sans-serif',
								textShadow : '0 0 1px black'
							}
						}
					},
					series: {
				        events: {
				            legendItemClick: function(e) {
				            	//默认是点击某个图例显示或隐藏当前数据列，这里改变为点击某个图例只显示当前数据列，隐藏其他数据列
				                var index = this.index;
				                var series = this.chart.series;
				                if (!series[index].visible) {
				                    for (var i = 0; i < series.length; i++) {
				                        var s = series[i];
				                        i === index ? s.show() : s.hide();
				                    }
				                }
				                return false;
				            }
				        }
				    }
				},
				title : {
					text : '本月收支统计柱状图（按账目来源）' // 标题
				},
				xAxis : {
					categories : [ '收入', '支出' ]
				// x 轴分类
				},
				yAxis : {
					title : {
						text : '金额' // y 轴标题
					}
				},
				series : [ {} ], // 数据列
				exporting : {// 导出功能
				enabled : true,
				}

			}
		
		

		function requestData() {
			
			//每中账目类型
			$.ajax({
				url : ctxPath + '/dataReport/highchartsShow.do',
				data : {
					 "acctType":$("#acct_type").val(),
			    	  "source":$('#source').val()
				},
				dataType : "json",
				success : function(data) {			
					if (data.length > 0) {						
						 options.series = new Array();
					        var i;
					        var incomeAmount=0;
					        var expenseAmount=0;
					        for(i=0;i<data.length;i++)
					        {
					        	
					        	// 动态生成多个统计柱状图
					           options.series[i] = new Object();
					           options.series[i].name =  data[i]['typeName'];
					           options.series[i].data = new Array(data[i]['incomeMoney'],data[i]['expenseMoney']);
					         }
					       
						

					}else{
						//当没查询到任何记录的时候将图表重置
						 options.series.length=0;
					}
					 chart = new Highcharts.chart(options);
					

				},

			});
			
			
			
			//每个公司部门
			$.ajax({
				url : ctxPath + '/dataReport/highchartsShow1.do',
				data : {
					 // "incomeExpense":$("#income_expense").val(),
					 "acctType":$("#acct_type").val(),
			    	  "source":$('#source').val()
				},
				dataType : "json",
				success : function(data) {			
					if (data.length > 0) {						
						 options1.series = new Array();
					        var i;
					        for(i=0;i<data.length;i++)
					        {
					        	// 动态生成多个统计柱状图
					           options1.series[i] = new Object();
					           options1.series[i].name =  data[i]['departmentName'];
					           options1.series[i].data = new Array(data[i]['incomeMoney'],data[i]['expenseMoney']);
					         }

						

					}else{
						//当没查询到任何记录的时候将图表重置
						 options1.series.length=0;
					}

					 chart1 = new Highcharts.chart(options1);
				},

			});
			
			
			
			
			
			
			
			
			
			

		}
	 
	 
	 

	 DataCount.init = function(){		
		 DataCount.DataCountGrid = DataCount.initDataCountGrid();// 初始对账记录列表
		 requestData();  //初始化统计图
		}
		
	 DataCount.init();
	//表头居中
	$(".ui-jqgrid-sortable").css("text-align","center");
	 
	
	
	
	
	
	
	
	
	
	
	 
	 /**
		 * 执行查询
		 */
 $("#search_btn").on("click", function() { 
 	DataCount.DataCountGrid.setGridParam({
				postData :{
				  "acctType":$("#acct_type").val(),
		    	  "source":$('#source').val()
				},
				page : 1
			});
        	DataCount.DataCountGrid.trigger("reloadGrid");
        	requestData();
        	
		});
		
	/**
	 * 执行导出验证jqfrid是否有记录，有记录才能导出
	 */			
	$("#form").submit(function() {
		var re_records = $("#grid_area").jqGrid('getGridParam', 'records'); //获取数据总条数  
		if(re_records==0){  
		    layer.msg('没有可以导出的记录！',{icon: 2});
		    return false;  
		}
		return true;    	
	}) 
	

	 
})


	